/************************************************************************/
/*                                                                      */
/*  Typecast Project                                                    */
/*                                                                      */
/*  Header file for the route table entry format                        */
/*  Author: Eusden Shing, UCLA                                          */
/*          2-11-2007                                                   */
/*                                                                      */
/************************************************************************/

#ifndef _TYPECAST_RT_H
#define _TYPECAST_RT_H

#include <linux/types.h>

#define BLOOMFILTERSIZE 16                // BLOOMFILTERSIZE refers to number of BYTES
                                        // BLOOMFILTERSIZE/2 is the number of CHARs in CHAR form
#define NETLINK_TYPECAST_SET_RT 17
#define NETLINK_TYPECAST_DUMP_RT 18


typedef struct RoutingTableEntry {
  __u32 srcAddr;     /* sk_buff->nh->iph->saddr */
  __u32 dstAddr;     /* sk_buff->nh->iph->daddr */
  char BloomFilter[BLOOMFILTERSIZE/2+1];   /* The last character is for terminating NULL */
} RoutingTableEntry ; 


// TODO: share the translation code for BloomFilter from charBloomFilter to byteBloomFilter and back

#endif
